Top

When a team member is added


Dzięki temu nowemu wyzwalaczowi możesz dodać nowy poziom governance dla swoich Microsoft Teams. Zwłaszcza, gdy mówimy o wdrażaniu nowych użytkowników lub innych zautomatyzowanych procesach dla nowo dodanych członków zespołów.

Krok po kroku

Wyzwalacz nie specjalnie skomplikowany. By go użyć utwórz nowy przepływ, użyj wyzwalacza z grupy Microsoft Teams, wybierz zespół, który przepływ powinien monitorować i to wszystko.

Uwaga: jedyną zwracaną informacją przez ten wyzwalacz jest User Id – id dodanego użytkownika.

Teraz to, co zrobisz po uruchomieniu przepływu, zależy już wyłącznie od Ciebie. Pozwól, że opiszę mój scenariusz, mam nadzieję, że będzie dla Ciebie inspirujący:

  1. Użytkownik zostaje dodany do zespołu, który posiada kanały publiczne i prywatne.
  2. Zanim użytkownik zostanie dodany do kanałów prywatnych, musi zaakceptować reguły NDA.
  3. Aby zostać dodanym do kanałów prywatnych, po dodaniu go do zespołu, proces wysyła mu Adaptive Card ze wszystkimi informacjami plus przycisk do wyrażenia potwierdzenia (lub nie).
  4. Jeśli potwierdzi, flow wysyła POST do Microsoft Graph API i automatycznie dodaje użytkownika do określonego kanału prywatnego.

I to wszystko. Obejrzyj screencast, w którym szczegółowo opisuję scenariusz:

Zapytania do Graph API

Aby wywołać endpoint interfejsu Microsoft Graph API, w celu dodania użytkownika do kanału prywatnego, używam następującego URI:

https://graph.microsoft.com/beta/teams/[TEAM ID]/channels/[CHANNEL ID]/members/

Treść żądania POST jest następująca:

{
  "@odata.type": "#microsoft.graph.aadUserConversationMember",
  "roles": [
    "member"
  ],
  "user@odata.bind": "https://graph.microsoft.com/beta/users/[USER ID Z TIRGGERA]"
}

Opisane podejście jest oparte o dokumentację wersji beta serwisu Graph API: https://docs.microsoft.com/en-us/graph/api/conversationmember-add?view=graph-rest-beta&tabs=http.

Aby skonfigurować uwierzytelnianie, musisz zarejestrować nową aplikację w usłudze Azure AD, która powinna posiadać następujące uprawnienia (i zgodę administratora na nie). Najlepiej na poziomie aplikacji:

  • ChannelMember.ReadWrite.All,
  • Group.ReadWrite.All,
  • Directory.ReadWrite.All

Adaptive Cards…

Wszystkie karty, jakich użyłem w swoim rozwiązaniu zbudowałem używając https://adaptivecards.io/designer. Jeśli interesuje Cię sama technologia, zobacz moje inne posty: Odczyt odpowiedzi z własnej Adaptive Cards wysłanej przez Power Automate do Teams.

I to wszystko! Dziękuję! Jeśli masz jakieś pytania, zostaw je w komentarzach poniżej.


Tomasz Poszytek

Cześć! Nazywam się Tomasz. Jestem ekspertem w dziedzinie automatyzacji procesów i budowaniu rozwiązań dla biznesu z użyciem Power Platform. Jestem Microsoft MVP i Nintex vTE.

Brak komentarzy

Wyślij komentarz

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.